From efd0e6ec1f436d56ba9546c61ee34320630cb475 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 Jan 2011 11:49:06 -0500 Subject: [PATCH] Add a setter for GtkWindow.has_user_ref_count This is needed for some language bindings. https://bugzilla.gnome.org/show_bug.cgi?id=638880 --- docs/reference/gtk/gtk3-sections.txt | 37 +++++++++++++++++++++++++++- gtk/gtk.symbols | 1 + gtk/gtkwindow.c | 24 ++++++++++++++++++ gtk/gtkwindow.h | 2 ++ 4 files changed, 63 insertions(+), 1 deletion(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 16372a5767..b52ea6a167 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4490,6 +4490,7 @@ gtk_cell_area_context_get_preferred_width_for_height gtk_cell_area_context_get_allocation gtk_cell_area_context_push_preferred_width gtk_cell_area_context_push_preferred_height + GTK_CELL_AREA_CONTEXT GTK_IS_CELL_AREA_CONTEXT @@ -4511,14 +4512,22 @@ gtk_cell_area_box_pack_start gtk_cell_area_box_pack_end gtk_cell_area_box_get_spacing gtk_cell_area_box_set_spacing + GTK_CELL_AREA_BOX GTK_IS_CELL_AREA_BOX GTK_TYPE_CELL_AREA_BOX -gtk_cell_area_box_get_type GTK_CELL_AREA_BOX_CLASS GTK_IS_CELL_AREA_BOX_CLASS GTK_CELL_AREA_BOX_GET_CLASS +GTK_CELL_AREA_BOX_CONTEXT +GTK_CELL_AREA_BOX_CONTEXT_CLASS +GTK_CELL_AREA_BOX_CONTEXT_GET_CLASS +GTK_IS_CELL_AREA_BOX_CONTEXT +GTK_IS_CELL_AREA_BOX_CONTEXT_CLASS + + +gtk_cell_area_box_get_type GtkCellAreaBoxPrivate @@ -4565,6 +4574,8 @@ GTK_CELL_RENDERER_GET_CLASS GtkCellRendererPrivate gtk_cell_renderer_get_type +gtk_cell_renderer_mode_get_type +gtk_cell_renderer_state_get_type
@@ -4728,6 +4739,7 @@ GTK_IS_CELL_RENDERER_ACCEL_CLASS GTK_CELL_RENDERER_ACCEL_GET_CLASS gtk_cell_renderer_accel_get_type +gtk_cell_renderer_accel_mode_get_type GtkCellRendererAccelPrivate
@@ -5270,6 +5282,7 @@ gtk_window_resize_grip_is_visible gtk_window_get_resize_grip_area gtk_window_get_application gtk_window_set_application +gtk_window_set_has_user_ref_count GTK_WINDOW @@ -5513,6 +5526,19 @@ GTK_STYLE_CLASS_MENUITEM GTK_STYLE_CLASS_PROGRESSBAR GTK_STYLE_CLASS_SPINNER GTK_STYLE_CLASS_TOOLBAR +GTK_STYLE_CLASS_DND +GTK_STYLE_CLASS_ERROR +GTK_STYLE_CLASS_EXPANDER +GTK_STYLE_CLASS_FRAME +GTK_STYLE_CLASS_HIGHLIGHT +GTK_STYLE_CLASS_INFO +GTK_STYLE_CLASS_MARK +GTK_STYLE_CLASS_NOTEBOOK +GTK_STYLE_CLASS_QUESTION +GTK_STYLE_CLASS_SCALE +GTK_STYLE_CLASS_SPINBUTTON +GTK_STYLE_CLASS_VIEW +GTK_STYLE_CLASS_WARNING GTK_STYLE_REGION_COLUMN GTK_STYLE_REGION_COLUMN_HEADER GTK_STYLE_REGION_ROW @@ -6901,9 +6927,18 @@ gtk_app_chooser_refresh GTK_TYPE_APP_CHOOSER GTK_APP_CHOOSER GTK_IS_APP_CHOOSER +GTK_APP_CHOOSER_GET_IFACE gtk_app_chooser_get_type +GTK_APP_CHOOSER_ONLINE +GTK_APP_CHOOSER_ONLINE_GET_IFACE +GTK_APP_CHOOSER_ONLINE_PK +GTK_APP_CHOOSER_ONLINE_PK_CLASS +GTK_APP_CHOOSER_ONLINE_PK_GET_CLASS +GTK_IS_APP_CHOOSER_ONLINE +GTK_IS_APP_CHOOSER_ONLINE_PK +GTK_IS_APP_CHOOSER_ONLINE_PK_CLASS
diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index ead590e1a0..3625120374 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3769,6 +3769,7 @@ gtk_window_set_focus_on_map gtk_window_set_geometry_hints gtk_window_set_gravity gtk_window_set_has_resize_grip +gtk_window_set_has_user_ref_count gtk_window_set_icon gtk_window_set_icon_from_file gtk_window_set_icon_list diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 371e69cca8..ca0ad9590a 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -9405,3 +9405,27 @@ _gtk_window_get_wmclass (GtkWindow *window, *wmclass_name = priv->wmclass_name; *wmclass_class = priv->wmclass_class; } + +/** + * gtk_window_set_has_user_ref_count: + * @window: a #GtkWindow + * @setting: the new value + * + * Tells GTK+ whether to drop its extra reference to the window + * when gtk_window_destroy() is called. + * + * This function is only exported for the benefit of language + * bindings which may need to keep the window alive until their + * wrapper object is garbage collected. There is no justification + * for ever calling this function in an application. + * + * Since: 3.0 + */ +void +gtk_window_set_has_user_ref_count (GtkWindow *window, + gboolean setting) +{ + g_return_if_fail (GTK_IS_WINDOW (window)); + + window->priv->has_user_ref_count = setting; +} diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h index c38de8c1f8..3820070287 100644 --- a/gtk/gtkwindow.h +++ b/gtk/gtkwindow.h @@ -220,6 +220,8 @@ void gtk_window_set_modal (GtkWindow *window, gboolean modal); gboolean gtk_window_get_modal (GtkWindow *window); GList* gtk_window_list_toplevels (void); +void gtk_window_set_has_user_ref_count (GtkWindow *window, + gboolean setting); void gtk_window_add_mnemonic (GtkWindow *window, guint keyval, -- 2.30.2